package com.test.learnkotlin.test

/**
 *Author: chinadragon
 */

fun main() {
//    print0To2M1()
//    print0To2M2()
//    printList1()
//    printList2()
//    printList3()
//    print2To0()
//    print1357()
//    printList4()
//    printList5()
    printList6()
}

/**
 * 打印 0 到 2
 */
fun print0To2M1() {
    for (inex in 0 until 3) {// 不包含3
        print("$inex ")
    }
}

/**
 * 打印 0 到 2
 */
fun print0To2M2() {
    for (inex in 0..2) {// 包含2
        print("$inex ")
    }
}

/**
 * 打印 2 到 0 (0 到 2 的 倒序遍历)
 */
fun print2To0() {
    for (inex in 2 downTo 0) {// 包含2
        print("$inex ")
    }
}

/**
 * 打印 1、3、5、7...
 */
fun print1357(){
    for (index in 1 .. 20 step 2){// step 2代表遍历的步长
        print("$index ")
    }
}

/**
 * 打印 list 所有元素
 */
fun printList1() {
    println("printList1 方式打印信息如下：")

    val list = listOf("koltin", "android", "java")
    for (index in list.indices) {
        println("index = $index --> item：${list[index]}")
    }
}

/**
 * 打印 list 所有元素
 */
fun printList2() {
    println("printList2 方式打印信息如下：")

    val list = listOf("koltin", "android", "java")
    for (item in list) {// 适合不需要下标的场景，例如直接显示集合数据，而且展示样式都一样
        print("$item ")
    }
}

/**
 * 打印 list 所有元素
 */
fun printList3() {
    println("printList3 方式打印信息如下：")
    val list = listOf("koltin", "android", "java")
    for ((index, item) in list.withIndex()) {
        println("index = $index --> item is $item")
    }
}

/**
 * 倒序 打印 list 所有元素
 */
fun printList4() {
    println("printList4 方式打印信息如下：")
    val list = listOf("koltin", "android", "java")
    for (index in list.size - 1 downTo 0) {
        println("index = $index --> item is ${list[index]}")
    }
}

/**
 * 打印 list 所有元素
 */
fun printList5() {
    println("printList5 方式打印信息如下：")
    val list = listOf("koltin", "android", "java")
    for (index in 0 until list.size) {
        println("index = $index --> item is ${list[index]}")
    }
}

/**
 * 打印 list 所有元素
 */
fun printList6() {
    println("printList6 方式打印信息如下：")
    val list = listOf("koltin", "android", "java")
    for (index in 0 .. list.size - 1) {
        println("index = $index --> item is ${list[index]}")
    }
}